Interface ICallGateSubscriber<T1, T2, T3, T4, T5, T6, T7, TRet>
This class facilitates inter-plugin communication.
Assembly: Dalamud.dll
View Source
public interface ICallGateSubscriber<T1, T2, T3, T4, T5, T6, T7, TRet>
Methods
Subscribe(Action<T1, T2, T3, T4, T5, T6, T7>)
Registers a System.Delegate
(of type System.Action%601
) that will be called when the providing
plugin calls Dalamud.Plugin.Ipc.ICallGateProvider%601.SendMessage
. This method can be used to receive notifications
of events or data updates from a specific plugin.
View Source
void Subscribe(Action<T1, T2, T3, T4, T5, T6, T7> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<<T1>,<T2>,<T3>,<T4>,<T5>,<T6>,<T7>> | action | Action to subscribe. |
Unsubscribe(Action<T1, T2, T3, T4, T5, T6, T7>)
Removes a subscription created through Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.Subscribe(System.Delegate)
. Note that the System.Delegate
to be
unsubscribed must be the same instance as the one passed in.
View Source
void Unsubscribe(Action<T1, T2, T3, T4, T5, T6, T7> action)
Parameters
Type | Name | Description |
---|---|---|
System.Action<<T1>,<T2>,<T3>,<T4>,<T5>,<T6>,<T7>> | action | Action to unsubscribe. |
InvokeAction(T1, T2, T3, T4, T5, T6, T7)
Executes the Action registered for this IPC call gate via Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterAction(System.Delegate)
. This method is intended
to be called by plugins wishing to access another plugin via RPC. The parameters passed to this method will be
passed to the owning plugin, with appropriate serialization for complex data types. Primitive data types will
be passed as-is. The target Action will be called on the <em>same thread</em> as the caller.
View Source
void InvokeAction(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
Parameters
Type | Name |
---|---|
<T1> | arg1 |
<T2> | arg2 |
<T3> | arg3 |
<T4> | arg4 |
<T5> | arg5 |
<T6> | arg6 |
<T7> | arg7 |
Exceptions
Dalamud.Plugin.Ipc.Exceptions.IpcNotReadyError
This is thrown when the IPC publisher has not registered an action for calling yet.
InvokeFunc(T1, T2, T3, T4, T5, T6, T7)
Executes the Function registered for this IPC call gate via Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterFunc(System.Delegate)
. This method is intended
to be called by plugins wishing to access another plugin via RPC. The parameters passed to this method will be
passed to the owning plugin, with appropriate serialization for complex data types. Primitive data types will
be passed as-is. The target Action will be called on the <em>same thread</em> as the caller.
View Source
TRet InvokeFunc(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
Returns
<TRet>
: The return value.
Parameters
Type | Name |
---|---|
<T1> | arg1 |
<T2> | arg2 |
<T3> | arg3 |
<T4> | arg4 |
<T5> | arg5 |
<T6> | arg6 |
<T7> | arg7 |
Exceptions
Dalamud.Plugin.Ipc.Exceptions.IpcNotReadyError
This is thrown when the IPC publisher has not registered a func for calling yet.